// 自己封装的工具函数

// 获取url参数
function getQueryString(url,key){
    var reg = new RegExp('[\?&]'+key+'=([^&=]*)','g');
    reg.test(url);
    return RegExp.$1;
}

// 生成 [min-max] 的随机整数
function randomInt(min,max){
    return Math.round(Math.random()*(max-min))+min;
}

// 生成16进制随机颜色值
function randomColor(){
    var color = '#';
    var str = '0123456789abcdef';
    for (var i = 0; i < 6; i++){
        var index = randomInt(0,15);// 生成0-15的随机整数
        color += str[index];
    }
    return color;
}

// 生成x位随机验证码
function randomCode(x){
    // 设置x的默认值
    x = x || 6;
    // ASCII码值范围：48-122（除了58-64和91-96这两个范围）
    var code = '';
    for (var i = 0; i < x; i++) {
        do {
            var ascii = randomInt(48,122);// 生成48-122的随机整数
        } while((ascii >= 58 && ascii <= 64) || (ascii >= 91 && ascii <= 96));
        code += String.fromCharCode(ascii);
    }
    return code;
}

// 获取元素的函数
function $(selector){
    var dom = document.querySelectorAll(selector);
    if (dom.length === 1) {
        // 返回单个元素
        return dom[0];
    } else {
        // 返回元素集合
        return dom;
    }
}

// 获取元素到页面左侧和顶部的距离
function offset(dom){
    // dom -> box3
    var left = 0 - dom.clientLeft;// 累加左侧的距离
    var top = 0 - dom.clientTop;// 累加顶部的距离
    while(dom){// dom -> box3 -> box2 -> box1 -> body -> null
        left += dom.clientLeft + dom.offsetLeft
        top += dom.clientTop + dom.offsetTop
        dom = dom.offsetParent;
    }
    return {'left':left,'top':top}
}
